package com.usefullc.english.vo;
import com.usefullc.common.domain.BaseDomain;
import com.usefullc.common.enums.YesNoEnum;
import com.usefullc.english.domain.Subtitle;
import com.usefullc.english.enums.PracticeLevelEnum;
import com.usefullc.system.service.component.extend.ApiField;
import com.usefullc.system.service.component.extend.DictField;
import com.usefullc.system.service.component.extend.EnumField;
import com.usefullc.system.service.component.extend.UsefulField;
import com.usefullc.system.service.component.extend.ApiField;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.math.BigDecimal;
import java.sql.Time;
import java.util.Date;
import java.util.List;

/**
 * 字幕返回实体
 * @author: 星空
 * @date: 2022-08-07
 */
@Data
public class SubtitleVo extends BaseDomain {

//useful_auto_generate_section_start

    @ApiField(url = "/english/content/listTree", id = "key", value = "title")
    @ApiModelProperty(notes = "内容")
    private Long contentId;

    @UsefulField(format = "HH:mm:ss.S")
    @ApiModelProperty(notes = "开始时间")
    private Time gmtStart;


    @ApiModelProperty(notes = "ID")
    private Long id;

    @UsefulField(format = "HH:mm:ss.S")
    @ApiModelProperty(notes = "结束时间")
    private Time gmtEnd;


    @ApiModelProperty(notes = "序号")
    private Integer orderNo;


    @ApiModelProperty(notes = "删除状态")
    private Boolean delState;

    @UsefulField(format = "yyyy-MM-dd")
    @ApiModelProperty(notes = "创建时间")
    private Date gmtCreate;

    @UsefulField(format = "yyyy-MM-dd")
    @ApiModelProperty(notes = "修改时间")
    private Date gmtModified;


    @ApiModelProperty(notes = "中文")
    private String cnText;


    @ApiModelProperty(notes = "英文")
    private String enText;


//useful_auto_generate_section_end


    private Long startTimeMs;

    private Long endTimeMs;

    @ApiModelProperty(notes = "单词列表")
    private List<SingleWordDictVo> singleWordDictList;

//    @ApiModelProperty(notes = "用户字幕")
//    private UserSubtitleVo userSubtitleVo;

    @EnumField(value = "practiceLevelEnum")
    @ApiModelProperty(notes = "熟练程度")
    private Integer practiceLevel = PracticeLevelEnum.NOTHING.getCode();

    @EnumField(value = "yesNoEnum")
    @ApiModelProperty(notes = "收藏")
    private Integer collect = YesNoEnum.NO.getCode();

}
